﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProyectoVuelos.Presentacion.IContrato;
using ProyectoVuelos.Logica.RegistroUsuario;
using ProyectoVuelos.Entidades;

namespace ProyectoVuelos.Presentacion.Presentador
{
    public class PresentadorRegistroUsuario
    {
        private IContratoRegistroUsuario _vista;
        private LogicaRegistroUsuario _miLogica = new LogicaRegistroUsuario();

        #region Constructor

        public PresentadorRegistroUsuario(IContratoRegistroUsuario laVista)
        {
            this._vista = laVista;
        }

        #endregion

        public void Page_Load(object sender, EventArgs e)
        {
            _vista.LabelMensajeError.Visible = false;
            _vista.LabelPasaporteError.Visible = false;
        }

        public void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {

            if (_vista.Nombre.Text.Equals("") || _vista.Apellido.Text.Equals("") || _vista.DropSexo.Text.Equals("-Seleccione--")
                || _vista.Fechan.Text.Equals("") || _vista.Pasaporte.Text == "" || _vista.Email.Text.Equals("") ||
                _vista.Login.Text.Equals("") || _vista.Contraseña.Text.Equals(""))
                
                _vista.LabelMensajeError.Visible = true;
                
            else
            {
                string pasaporte = _vista.Pasaporte.Text;
                char sexo;
                bool pasaporteValido = _miLogica.ValidarPasaporte(pasaporte);

                if (_vista.DropSexo.ToString().Equals("Masculino"))
                    sexo = 'm';
                else
                    sexo = 'f';

                if (pasaporteValido == false)
                {
                    DateTime fecha = Convert.ToDateTime(_vista.Fechan.Text);

                    Usuario miUsuario = _miLogica.CrearUsuario(_vista.Pasaporte.Text, _vista.Cedula.Text, _vista.Nombre.Text,
                                        _vista.SegundoNombre.Text, _vista.Apellido.Text, _vista.SegundoApellido.Text, fecha,
                                        sexo, _vista.Email.Text, _vista.Telefono.Text);


                    Cuenta miCuenta2 = _miLogica.CrearCuenta2(_vista.Login.Text, _vista.Contraseña.Text);

                    miUsuario.Cuenta = miCuenta2;

                    bool insertUsuario = _miLogica.InsertarUsuario(miUsuario);

                    if (insertUsuario.Equals(true))
                    {
                        int foraneaPersona = _miLogica.ForaneaPersona(miUsuario);

                        if (foraneaPersona.Equals(0))
                        {

                        }
                        else
                        {
                            bool insertCuenta = _miLogica.InsertarCuenta(miCuenta2, foraneaPersona);
                        }
                    }
                    else
                    {
                    }

                    _vista.Sesion["cuentaSession"] = miCuenta2;
                    _vista.Redireccionar("../Home/ConsultaVuelo.aspx");

                }
                else
                {
                    _vista.LabelPasaporteError.Visible = true;
                }
            }

        }

    }
    
}